package com.wenwei.sharebox.base;

import android.support.v4.app.Fragment;

/**
 * Created by Administrator on 2016/8/22.
 */
public abstract class LazyFragment extends Fragment {

    public boolean isVisible;

    /**
     * 该方法  在Fragment的onCreateView（）方法前就被调用了，如果在这个方法内部直接调用
     * lazyload()加载数据，就可能会造成空指针异常，因为视图还未创建
     */
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if(getUserVisibleHint()){
            isVisible=true;
            onVisible();
        }else{
            isVisible=false;
            onInVisible();
        }
    }
    /**
     * Fragment可见时被调用
     */
    protected void  onVisible(){
        lazyload();
    }
    /**
     * 在这里面添加数据加载数据
     */
    protected abstract void lazyload();
    /**
     * 界面不可见时被调用
     */
    protected  void  onInVisible(){}
}
